package com.sanerzone.smscenter.biz.VerifyInterface;

import com.sanerzone.smscenter.biz.VerifyInterface.data.ResultData;
import com.sanerzone.smscenter.biz.entity.SmsGateway;
import com.sanerzone.smscenter.biz.iface.DataAccess.DataAccess;
import com.sanerzone.smscenter.biz.message.SMSMTMessage;
import com.sanerzone.smscenter.biz.message.SMSREQMessage;

import java.util.List;

public interface GatewayVerify {
    /**
     * 验证签名
     * @param sign
     * @param userId
     * @return
     */
    public ResultData verifySign(String sign,String userId,DataAccess dataAccess);

    /**
     * 网关匹配
     * @param templateId
     * @param groupId
     * @param entity
     * @return
     */
    public ResultData gateWayMatching(String templateId,String groupId,SMSMTMessage entity,String phone,SMSREQMessage reqMsg,List<SMSMTMessage> result,DataAccess dataAccess);


    public ResultData filterSensitiveWords(String smsContent,DataAccess dataAccess);


    public ResultData filterBlackList(String phone,String accountGroupId,SMSREQMessage reqMeg,DataAccess dataAccess);

    public ResultData filterUserNotAllowedOprator(String key,String phone,SMSREQMessage reqMeg,DataAccess dataAccess);

    public ResultData smsTypeVerify(String templateId,String groupId,String content,DataAccess dataAccess);

}
